package com.wcity.manage.service;

import com.wcity.manage.dao.model.Block;
import com.wcity.manage.dao.model.User;
import org.springframework.web.multipart.commons.CommonsMultipartFile;

import java.io.OutputStream;
import java.util.List;
import java.util.Map;

/**
 * Created by jn on 2016/12/12.
 * 小区信息接口
 */
public interface BlockService {

    /**
     * 根据区县获取小区信息
     * @param area
     * @param blockName
     * @param registerId
     * @return
     */
    Object findBlockList(String area, String blockName, String registerId);

    /**
     * 入住小区 返回物业社区id（userId）
     * @param blockId
     * @param registerId 登陆后切换小区必须进行token验证
     * @param token
     * @return
     */
    Object blockRegisterIn(String blockId,String registerId,String token);

    /**
     * 新增小区
     * @param block
     * @param user
     * @return
     */
    String blockAdd(Block block, User user);

    /**
     * 修改小区信息
     * @param block
     * @return
     */
    String blockEdit(Block block);

    /**
     * 删除小区
     * @param blockId
     * @return
     */
    String blockDel(int blockId);

    /**
     * 社区管理员管理的小区列表
     * @param queryMap
     * @return
     */
    List<Block> getAdminHaveBlockList( Map<String,Object> queryMap );

    /**
     * 导出
     * @param block
     * @param outputStream
     */
    void blockExport(Block block, OutputStream outputStream);

    /**
     * 导入
     * @param file
     * @param user
     * @return
     */
    String blockImport(CommonsMultipartFile file, User user);

    /**
     * 导入 excel工具导入
     * @param file
     * @param user
     * @return
     */
    String blockImportTest(CommonsMultipartFile file, User user);

    /**
     * 获取小区banner图
     * @param blockId
     * @return
     */
    Object getBlockImageList(String blockId);

    /**
     * 获取到小区信息
     * @param blockId
     * @return
     */
    Block getBlockById( Integer blockId );

}
